import glob,time
'''
打开已经存在的 Excel 用 load_workbook，创建新的 Excel 用 Workbook。
'''
from openpyxl import load_workbook,Workbook

#设置需要处理的文件夹路径
file_path = r'/Users/suned/code/python/python-automated-office/02批量查询Excel数据/exceldata/'
#符合条件的行号提取行并且放入新的Excel
new_workbook = Workbook()
new_sheet = new_workbook.active
#用flag变量明确新表是否已经添加了表头，只要添加过一次就不再添加了
flag = 0
print('开始处理Excel文件...{}'.format(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))))
for file in glob.glob(file_path + '/*.xlsx'):
    #打开工作簿
    workbook = load_workbook(file)
    #打开工作表
    sheet = workbook.active
    #按照要求找出吊牌价超过2000的记录
    price = sheet['N']
    #然后逐个对数值进行判断了，将符合要求的行号提取出来放入列表 row_lst 中
    row_lst = []
    for cell in price:
        if isinstance(cell.value, (int, float)) and cell.value > 1000:
            row_lst.append(cell.row)
    if not flag:
        #创建和原表一样的表头（第一行）
        header = sheet[1]
        header_lst = []
        for cell in header:
            header_lst.append(cell.value)
        new_sheet.append(header_lst)
        flag = 1
    #从旧表中根据行号提取符合条件的行，并遍历单元格获取值，以列表形式写入新表
    for row in row_lst:
        row_data = []
        for cell in sheet[row]:
            row_data.append(cell.value)
        new_sheet.append(row_data)

new_workbook.save(file_path + '/toltaldata/' + 'gaga.xlsx')
print('处理完成...{}'.format(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))))
